package com.government.article.mapper;

import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.government.app.bo.KeywordSearchBO;
import com.government.app.bo.KeywordSearchDetailsBO;
import com.government.app.vo.KeywordSearchDetailsVO;
import com.government.app.vo.KeywordSearchVO;
import com.government.article.bo.ArticlePolicyBO;
import com.government.article.bo.NormalPolicyBO;
import com.government.article.domain.Article;
import com.government.article.domain.ArticlePolicy;
import com.government.article.vo.AllPolicyVO;
import com.government.article.vo.ArticlePolicyVO;

/**
 * 政策分类信息Mapper接口
 * 
 * @author system
 * @date 2023-09-20
 */
public interface ArticlePolicyMapper extends BaseMapper<ArticlePolicy>
{
    /**
     * 查询政策分类信息
     * 
     * @param articleId 政策分类信息主键
     * @return 政策分类信息
     */
    public ArticlePolicyVO selectArticlePolicyByArticleId(Long articleId);

    /**
     * 查询政策分类信息列表
     *
     * @param articlePolicy 政策分类信息
     * @return 政策分类信息集合
     */
    public List<ArticlePolicyVO> selectArticlePolicyList(ArticlePolicyBO bo);

    public List<AllPolicyVO> selectAllPolicy();

    public List<ArticlePolicy> selectPolicyTree();

    /**
     * 查询政策分类信息列表
     * 
     * @param articlePolicy 政策分类信息
     * @return 政策分类信息集合
     */
    public List<KeywordSearchVO> searchArticlePolicyList(KeywordSearchBO bo);

    /**
     * 查询政策分类详情
     * @param bo
     * @return
     */
    KeywordSearchDetailsVO selectArticlePolicyDetails(KeywordSearchDetailsBO bo);

    /**
     * 根据标签匹配政策数据
     * @param bo
     * @return
     */
    List<ArticlePolicy> normalPolicy(NormalPolicyBO bo);

    /**
     * 根据单位id查询已立项政策数据
     * @return
     */
    List<ArticlePolicy> getApprovalPolicy(NormalPolicyBO bo);

    List<ArticlePolicy> getAllPolicy(ArticlePolicy articlePolicy);

    /**
     * 根据政策id查询关联政策数据
     * @return
     */
    List<ArticlePolicy> getConnectionPolicy(NormalPolicyBO bo);

}
